/**
 * \file  test_liste_produit.h
 * \author Ade 
 * \author Heni
 * \author Morgane
 * \interface test_liste_produit
 * \brief Interface de declaration des fonctions de test sur liste de produits
 */

#ifndef _TEST_LISTE_PRODUIT_H
#define _TEST_LISTE_PRODUIT_H

    /**
     * Procédure de démarrage des tests. Le nom "set up" est un nom consacré.
     * C'est une convention qu'il faut conserver. C'est la procédure d'initiali-
     * sation des tests.
     * Généralement, cette procédure positionne l'environnment des tests.
     * Par exemple, calculer dans une variable globale le chemin
     * d'un répertoire où sont mis des fichiers à lire. Positionner des variables
     * d'environnement sous Linux, etc. Elle peut également tout simplement réaliser
     * un affichage d'initialisation.
     */
    extern void set_up_tests_liste_produit();

    /**
     * Test sur la création de liste de produits.
     */
    extern void tester_liste_produit();

    /**
     * Procédure de fermeture des tests. Le nom "tear down" est un nom consacré.
     * C'est une convention qu'il faut conserver. C'est la procédure de fermeture
     * des tests. Elle peut servir à libérer les ressources acquises au début des
     * tests avec la procédure set_up. Elle peut éventuellement afficher les
     * statistiques générales des tests : nombre réussies et échouées.
     * Elle peut également tout simplement réaliser un affichage de terminaison.
     */
    extern void tear_down_tests_liste_produit();

    /**
     * Procédure principale de lancement des tests. Lorsqu'on ne souhaite exécuter
     * que quelques tests sur des dizaines, on peut réaliser la sélection ici.
     * set_up et tear_down doivent toujours être invoquées, respectivement au
     * démarrage et à la fermeture des tests.
     * C'est celle-ci qui doit être invoquée dans main.c
     */
    extern void tests_liste_produit();


#endif /* _TEST_LISTE_PRODUIT_H */
